package study.method.absimpl;

/**
 * @author ASUS
 * @date 2021/2/4
 */
public class Applicant {
    /**
     * 抽象、接口案例：运动员和教练
     * 有乒乓球教练和运动员，篮球教练和运动员。为了出国交流，跟乒乓球相关的人员需要学习英语。
     * 抽象类：人 Person,属性:姓名-name;年龄-age,方法:有参/无参构造,get/set方法,自我介绍-introduction();
     * 抽象类：教练 Coach，继承:Person;方法:有参/无参构造,教-teach();
     * 抽象类：运动员 Athlete，继承:Person;方法:有参/无参构造,学-study();
     * 接口类：说英语 SpeakEnglish，方法:说英语-speakEnglish();
     * 实现类：乒乓球教练 PingPangCoach,继承:Coach,SpeakEnglish,重写方法:自我介绍-introduction();教-teach();说英语-speakEnglish();
     * 实现类：乒乓球运动员 PingPangAthlete,继承:Athlete,SpeakEnglish,重写方法:自我介绍-introduction();教-teach();说英语-speakEnglish();
     * 实现类：篮球教练 BasketBallCoach,继承:Coach,重写方法:自我介绍-introduction();教-teach();
     * 实现类：篮球运动员 BasketBallAthlete,继承:Athlete,重写方法:自我介绍-introduction();教-teach();
     */
    public static void main(String[] args) {
        PingPangCoach pangCoach = new PingPangCoach("乒教", 30);
        pangCoach.introduction();
        pangCoach.teach();
        pangCoach.speakEnglish();
        PingPangAthlete pangAthlete = new PingPangAthlete("乒运", 20);
        pangAthlete.introduction();
        pangAthlete.study();
        pangAthlete.speakEnglish();
        BasketBallCoach ballCoach = new BasketBallCoach("篮教", 32);
        ballCoach.introduction();
        ballCoach.teach();
        BasketBallAthlete ballAthlete = new BasketBallAthlete("篮运", 25);
        ballAthlete.introduction();
        ballAthlete.study();
    }
}
